import Vuex from 'vuex';
import Vue from 'vue';
const countOptions = {
  namespaced: true,
  state: {
    sum: 0,  // 当前的和
    school: '离谱大学',
    subject: '软件工程',
    personList: [
      {
        id: 1,
        name: 'hasaki'
      },
      {
        id:2,
        name: 'kimiyama'
      }
    ]
  },
  actions: {
    jia(context, value) {
      context.commit('JIA', value);
    },
    jian(context, value) {
      context.commit('JIAN', value);
    }
  },
  mutations: {
    JIA(state, value) {
      state.sum += value;
    },
    JIAN(state, value,) {
      state.sum -= value;
    }
  },

  getters: {
    bigSum(state) {
      return state.sum * 10;
    }
  }
}

// 用于响应组件中的动作
// const actions = {
//   jia(context, value) {
//     context.commit('JIA', value);
//   },
//   jian(context, value) {
//     context.commit('JIAN', value);
//   }
// };
// // 用于操作数据
// const mutations = {
//   JIA(state, value) {
//     state.sum += value;
//   },
//   JIAN(state, value) {
//     state.sum -= value;
//   }
// };
// 用于存储数据
// const state = {
//   sum: 0,  // 当前的和
//   school: '离谱大学',
//   subject: '软件工程',
//   personList: [
//     {
//       id: 1,
//       name: 'hasaki'
//     },
//     {
//       id:2,
//       name: 'kimiyama'
//     }
//   ]
// };
// const getters  = {
//   bigSum() {
//     return state.sum * 10;
//   }
// };
// 创建并暴露store
Vue.use(Vuex);
export default new Vuex.Store ({
  modules: {
    count: countOptions
  }
});
